﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace SingletonPattern
{
    class Singleton简单写法
    {
        private Singleton简单写法()
        {
            Thread.Sleep(1000);

            Console.WriteLine("{0} 被构造，线程{1}", this.GetType().Name, Thread.CurrentThread.ManagedThreadId);
        }

        private static Singleton简单写法 _Singleton = null;   //静态 变量 会通过CLR 调用一次 构造函数

        /// <summary>
        /// 静态构造函数 由CLR保证，在第一次使用这个类之前， 仅被调用一次
        /// </summary>
        static Singleton简单写法()
        {
            _Singleton = new Singleton简单写法();
        }

        public static Singleton简单写法 createInstance()
        {
            return _Singleton;
        }

    }
}
